package cn.oracle.eshop.auth.dao;

import cn.oracle.eshop.auth.domain.PriorityDo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 权限管理模块的DAO组件接口
 * @author wyh
 * @date 2022/1/12
 * @param
 * @return
 */
public interface PriorityDAO {
    /****
     * 获取根权限
     * @author wyh
     * @date 2022/1/12
     * @param
     * @return 根权限集合
     */

    List<PriorityDo> listRootPriorites();
    /***
     * 根据父权限id来查子权限
     * @author wyh
     * @date 2022/1/22
     * @param parentId
     * @return java.util.List<cn.oracle.eshop.auth.domain.PriorityDo>
    */


    List<PriorityDo>listChildPriorities(@Param("parentId") Long parentId);
    /***
     * 新增权限
     * @author wyh
     * @date 2022/1/22
     * @param priorityDo
     * @return void
    */

    Boolean savePriority(PriorityDo priorityDo);
    /***
     *  更新权限
     * @author wyh
     * @date 2022/1/22
     * @param priorityDo
     * @return void
     */

   Boolean updatePriorityDo (PriorityDo priorityDo);
    /***
     * 查询权限
     * @author wyh
     * @date 2022/1/22
     * @param id  权限DO对象
     * @return void
     */
    PriorityDo getPriorityById(@Param("id") long id);
    /***
     * 删除权限
     * @author wyh
     * @date 2022/1/22
     * @param id 权限Id
     * @return void
    */
    Boolean removePriority(Long id);
}
